/*
 * types.h
 *
 */

#ifndef TYPES_H_
#define TYPES_H_

#include <string>


/* archivo de secuencias */
#define ID_SEQUENCES_FILE "datos/sequences.txt"
#define BLOQUES_HASH_FILE "datos/bloques_hash_twit.data"
#define TABLA_HASH_FILE "datos/tabla_hash_twit.data"
#define TABLA_HASH_RSS_FILE "datos/tabla_hash_rss.data"
#define BLOQUES_LIBRES_HASH_FILE "datos/bloques_libres_hash.data"
#define BLOQUES_HASH_RSS_FILE "datos/bloques_hash_rss.data"
#define BLOQUES_LIBRES_HASH_RSS_FILE "datos/bloques_libres_hash_rss.data"

using namespace std;

typedef unsigned long AUTONUMERIC_ID;
typedef char ENTITY_TYPE;
typedef int Offset;
typedef unsigned long ID;
typedef unsigned int Key;
typedef unsigned int KeySize;
typedef unsigned int Level;
typedef unsigned int RegisterCounter;
typedef unsigned int BlockSize;
typedef unsigned int DataSize;
typedef unsigned int FreeSpace;
typedef double ChargeFactor;
typedef char* Data;
typedef unsigned short PrecisionInt;
typedef unsigned long EnteroLargo;

/**
 * Enumerado para poder usar las estructuras en un switch
 */
enum ESTRUCTURAS {
//Los indices secundarios los numeramos a partir del 40
//INDICE DE TWEET/RSS POR FECHA. Para un FECHA tenemos todos los twwets/rss de esa fecha
//La nomenclatura es la siguiente: INDICE_IDENTIDADPPAL

ELEMENT=0,//ENTIDAD GENERICA
INDEX_TEST=1,
RSS=2,
TWEET=3,

FECHA_IDRSS=40, //Indices simples
FECHA_IDTWEET=41,

AUTOR_IDRSS=42,
AUTOR_IDTWEET=43,

FECHADES_IDRSS=44,
FECHADES_IDTWEET=45,

FECHAASC_IDRSS=46,
FECHAASC_IDTWEET=47,

TITULO_IDRSS=48,
TITULO_IDTWEET=49,

SIMPLE_SECONDARY_INDEX=99

};


#endif /* TYPES_H_ */
